package com.gdust.hzx.manager.service;

import com.gdust.hzx.model.dto.system.SysRoleDto;
import com.gdust.hzx.model.entity.system.SysRole;
import com.github.pagehelper.PageInfo;

import java.util.Map;

/**
 * ClassName: SysRoleService
 * Package: com.gdust.spzx.manager.service
 * Description:
 *
 * @Author syun
 * @Create 2024/11/6 21:15
 * @Version 1.0
 */
public interface SysRoleService {

    /**
     * 查询角色列表的方法
     * @param sysRoleDto 条件角色名称对象 内含属性角色名称
     * @param current 当前页
     * @param limit 每页记录数
     * @return
     */
    PageInfo<SysRole> findByPage(SysRoleDto sysRoleDto, Integer current, Integer limit);


    /**
     * 添加角色方法
     * @param sysRole 角色实体类传入参数
     */
    void saveSysRole(SysRole sysRole);

    /**
     * 修改角色方法
     * @param sysRole 角色实体类传入参数
     */
    void updateSysRole(SysRole sysRole);

    /**
     * 删除角色方法
     * @param roleId 传入角色id
     */
    void deleteById(Long roleId);

    /**
     * 查询所有角色(根据用户id查询所有角色)
     * @param userId 用户id
     * @return 响应结果实体类返回结果与业务状态码
     */
    Map<String, Object> findAll(Long userId);
}
